-
Notifications
You must be signed in to change notification settings - Fork 179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(robot-server): add protocol_kind to the protocols endpoint and persistance layer. #15353
Conversation
0217465
to
2ef220f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good overall, as discussed in person if we change out the query on the POST /protocols
request to a form instead this will be in line with the rest of our HTTP API decisions so far. All other decisions seem sensible, your call regarding the exclusion of the ProtocolKind
type on the Protocol constructor.
…ersistance layer.
13b5fe2
to
cb2fa01
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Thank you for making all the changes!
Good to merge once tests pass
…ersistance layer. (#15353)
Overview
A "Quick Transfer" protocol is a protocol that is generated by the on-device-display (ODD) (For now), to perform routine plate filler actions without needing to use a computer and the desktop app. This is a mostly client-side driven feature, However, we do need to make changes on the backend to support this feature. We primarily want 20 Protocol slots intended for "Quick Transfer" protocols. So we need to tell which type of protocol we are dealing with, so we can limit their count, migrate them, store them in the database, etc.
This pull request sets up the backend to handle "ProtocolKinds" sent as "protocolKind" Form data key in the
POST /protocols
endpoint. We then add this new key to the rest of the infrastructure required to consume this new key, persist, and get reported. This will let us mark protocols as "standard" or "quick_transfer" for the robot server to perform side effects on specific protocol kinds, like not storing runs for "Quick Transfer" protocols.Closes: PLAT-311 PLAT-312 PLAT-313 PLAT-315 PLAT-316
Test Plan
POST /protocols
endpoint returns the correct kind of protocolGET /protocol
endpoint returns the correct protocolKind valueprotocol_kind
persists through the robot server app restarts.Changelog
POST /protocols
endpointReview requests
Risk assessment